#ifndef __BESTAND_H__ 
#define __BESTAND_H__

//! Een fysiek bestand op de harde schijf.
/*!
	Omdat we gebruik maken van serialize en deserialize is het voldoende om een bestand volledig als string in te lezen en deze string
    bevat dan de informatie om een map of spel aan te maken.

	zorgt ervoor dat het bestand op de schijf altijd consistent is met het bestand in het geheugen
*/

#include <string>
using std::string;

class Bestand
{
public:
	//! laad bestand
	Bestand(const string& filename);

protected:
	Bestand(const Bestand& ){}; // singleton

public:
	//! geeft inhoud van bestand terug (deze wordt eenmalig ingeladen)
	const string& getData() const { return m_data; }
	//! overschrijft bestand.
	void setData( const string& data );
	//! geeft terug of het bestand fysiek bestaat (setData nog niet opgeroepen)
	bool bestaat();

private:
	string m_data;
	string m_filename;
};

#endif
